/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managedBeans;

import controladores.GestionSalaEventosCont;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.component.datatable.DataTable;
import tools.Utilidad;

/**
 *
 * @author ricardo
 */
@ManagedBean
@ViewScoped
public class SalaEventos implements Serializable {
    
    private modelos.pojos.SalaEventos sala;
    
    private Boolean noPermitirEdicion = true;
    private DataTable tablaSalas;

    /** Creates a new instance of SalaEventos */
    public SalaEventos() {
        sala = new modelos.pojos.SalaEventos();
    }

    public modelos.pojos.SalaEventos getSala() {
        return sala;
    }

    public void setSala(modelos.pojos.SalaEventos sala) {
        this.sala = sala;
    }

    public DataTable getTablaSalas() {
        return tablaSalas;
    }

    public void setTablaSalas(DataTable tablaSalas) {
        this.tablaSalas = tablaSalas;
    }

    public Boolean getNoPermitirEdicion() {
        return noPermitirEdicion;
    }

    public void setNoPermitirEdicion(Boolean noPermitirEdicion) {
        this.noPermitirEdicion = noPermitirEdicion;
    }
    public void desbloquear(){
        this.noPermitirEdicion = false;
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage("Campos Habilitados", "Ahora puede modificar la información"));
    }
    
    public List<modelos.pojos.SalaEventos> listarSalas(){
        return GestionSalaEventosCont.listarSalas("");
    }
    
    public void crearSala(){
        String mensaje = GestionSalaEventosCont.crearSalaEventos(sala);
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage("Sala creada:", mensaje));
    }
    
    public void consultarSala(){
       modelos.pojos.SalaEventos seleccion = (modelos.pojos.SalaEventos) tablaSalas.getRowData();
       sala = GestionSalaEventosCont.buscarSalaEventos(seleccion.getNumero());
    }
    
    public void actualizarSala(){
        String mensaje = GestionSalaEventosCont.actualizarInformacion(sala);
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage("Sala actualizada:", mensaje));
    }
    
    public void desactivarSala(){
        modelos.pojos.SalaEventos seleccion = (modelos.pojos.SalaEventos) tablaSalas.getRowData();
        sala = GestionSalaEventosCont.buscarSalaEventos(seleccion.getNumero());
        sala.setEstado(Utilidad.invertirEstado(sala.getEstado()));
        GestionSalaEventosCont.actualizarInformacion(sala);
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage("Éxito en la operación"));
    }
    
}
